# 函数的参数传递，从本质上讲传递的是引用
# 值传递：传递的是不可变对象
def f(x):
    print(id(x))
    x = 100
    print(id(x))


a = 1
print(id(a))
f(a)
print(id(a))


# 引用传递：指针传递：地址传递：传递的是可变对象
def f(x):
    x[0] = 100
    print(x)


a = [1, 2, 3]
f(a)
print(a)